/*
 * @(#) LegalDaysAction.java 2011-10-2
 *
 * Copyright (c) 2011, Strong Technology. All Rights Reserved.
 * Strong Technology. CONFIDENTIAL
 */
package cn.strong.gweva.system.presentation.action;

import java.util.List;

import cn.strong.gweva.common.business.entity.ComboBoxEntity;
import cn.strong.gweva.common.business.entity.db.JxkhLegalDaysEntity;
import cn.strong.gweva.common.presentation.action.AjaxBaseAction;
import cn.strong.gweva.common.util.ComboBoxUtil;
import cn.strong.gweva.system.business.service.LegalDaysService;

/**
 * 法定天数管理Action。
 * 
 * @author lilanfei
 * @version 1.0
 * @since 2011-10-2
 */
public class LegalDaysAction extends AjaxBaseAction
{
	/**  */
	private static final long serialVersionUID = 3753386792620260503L;

	/** 法定天数管理业务接口 */
	private LegalDaysService legalDaysService;
	
	/** 法定天数列表 */
	private List<JxkhLegalDaysEntity> legalDaysList;
	/** 法定天数列表件数 */
	private int legalDaysListSize;
	/** 年限范围下拉列表 */
	private List<ComboBoxEntity> rangeTypeList;
	/** 法定天数ID */
	private Integer legalDaysId;
	
	/**
	 * 更新法定天数列表。
	 * 
	 * @return
	 */
	public String list()
	{
		try
		{
			return search();
		}
		catch (Exception e)
		{
			return processException(e);
		}
	}
	
	/**
	 * 检索法定天数列表。
	 * 
	 * @return
	 */
	public String search()
	{
		try
		{
			this.setRangeTypeList(ComboBoxUtil.searchRangeTypeList());
			this.setLegalDaysList(this.getLegalDaysService().searchLegalDaysList());
			if (this.getLegalDaysList() != null)
			{
				// 法定天数列表件数
				this.setLegalDaysListSize(this.getLegalDaysList().size());
			}
			else
			{
				// 法定天数列表件数
				this.setLegalDaysListSize(0);
			}
			return LIST;
		}
		catch (Exception e)
		{
			return processException(e);
		}
	}
	
	/**
	 * 更新法定天数。
	 * 
	 * @return
	 */
	public String update()
	{
		try
		{
			this.getLegalDaysService().updateLegalDaysList(
					this.getLegalDaysList(), this.getLoginUser().getUserId());
			this.setIsSuccess("保存成功！");
			return list();
		}
		catch (Exception e)
		{
			return processException(e);
		}
	}
	
	/**
	 * 删除法定天数。
	 * 
	 * @return
	 */
	public String delete()
	{
		try
		{
			this.getLegalDaysService().deleteById(this.getLegalDaysId());
			this.setIsSuccess("删除成功！");
			return search();
		}
		catch (Exception e)
		{
			return processException(e);
		}
	}

	/**
	 * 获取法定天数管理业务接口
	 * @return 法定天数管理业务接口
	 */
	public LegalDaysService getLegalDaysService()
	{
		return legalDaysService;
	}
	/**
	 * 设定法定天数管理业务接口
	 * @param legalDaysService 法定天数管理业务接口
	 */
	public void setLegalDaysService(LegalDaysService legalDaysService)
	{
		this.legalDaysService = legalDaysService;
	}
	/**
	 * 获取法定天数列表
	 * @return 法定天数列表
	 */
	public List<JxkhLegalDaysEntity> getLegalDaysList()
	{
		return legalDaysList;
	}
	/**
	 * 设定法定天数列表
	 * @param legalDaysList 法定天数列表
	 */
	public void setLegalDaysList(List<JxkhLegalDaysEntity> legalDaysList)
	{
		this.legalDaysList = legalDaysList;
	}
	/**
	 * 获取法定天数列表件数
	 * @return 法定天数列表件数
	 */
	public int getLegalDaysListSize()
	{
		return legalDaysListSize;
	}
	/**
	 * 设定法定天数列表件数
	 * @param legalDaysListSize 法定天数列表件数
	 */
	public void setLegalDaysListSize(int legalDaysListSize)
	{
		this.legalDaysListSize = legalDaysListSize;
	}

	/**
	 * 获取年限范围下拉列表
	 * @return 年限范围下拉列表
	 */
	public List<ComboBoxEntity> getRangeTypeList()
	{
		return rangeTypeList;
	}
	/**
	 * 设定年限范围下拉列表
	 * @param rangeTypeList 年限范围下拉列表
	 */
	public void setRangeTypeList(List<ComboBoxEntity> rangeTypeList)
	{
		this.rangeTypeList = rangeTypeList;
	}

	/**
	 * 获取法定天数ID
	 * @return 法定天数ID
	 */
	public Integer getLegalDaysId()
	{
		return legalDaysId;
	}
	/**
	 * 设定法定天数ID
	 * @param legalDaysId 法定天数ID
	 */
	public void setLegalDaysId(Integer legalDaysId)
	{
		this.legalDaysId = legalDaysId;
	}
}
